problem solving agents in artificial intelligence